<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-US">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
		<meta http-equiv="content-style-type" content="text/css">
		<meta name="description" content="Controllers Support">
		<link href="../sty/style.css" rel="stylesheet">
		<style type="text/css">
			<!-- ul { list-style-type:none } -->
		</style>
		<title>Controllers Support</title>
	</head>
	<body>
		<h2>Controllers Support</h2>
		<p>
			The real SNES has two ports to connect input devices. Usually 1P and 2P SNES joypads are connected but various devices and adopters can be plugged.
		</p>
		<ul>
			<li><table summary="input devices">
				<tbody>
					<tr valign="top">
						<td style="width:9em">Multi Player 5</td>
						<td>known as Multi Tap; a five player adapter, allowing up to five people to play at once on games that supported it.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">SNES Mouse</td>
						<td>a 2-button mouse, originally supplied with a paint program.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">Super Scope</td>
						<td>a light-gun; it used infrared to provide wireless communication between the gun and the console unit.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">Justifier</td>
						<td>a gun similar to Super Scope, supported with one gun-shooting game.</td>
					</tr>
				</tbody>
			</table></li>
		</ul>
		<p>
			Snes9x can emulate those input devices with the keyboard, mouse and gamepad.
		</p>
		<h3>Configuring Keyboard</h3>
		<p>
			Choose 'Configure Keyboard...' in 'Config' menu. Drag and drop each icon onto the key which you want to assign. Blue icons are for 1P joypad, orange icons are for 2P joypad, and green icons are for other input devices and additional functions. To restore to the default key mapping, press 'Default' button.
		</p>
		<h3>Configuring Gamepad and Mouse</h3>
		<p>
			Choose 'Configure Controllers...' in 'Config' menu. Click the button in the dialog, and within 2.5 seconds press your gamepad or mouse (or keyboard) button that you want to assign. To remove the assignment, click the button and do nothing for 2.5 seconds. To clear all the settings, click 'Clear All' button. Additionally, you can switch controller settings quickly by selecting a preset by 'Controllers Preset' in 'Config' menu.
		</p>
		<h3>Automatic Fire</h3>
		<p>
			Pressing Snes9x's Alt key in conjunction with that controller button in-game will toggle that button's 'Enable Automatic Fire' setting. Other autofire settings will return in future versions. If you use these settings, please upvote an existing issue or file a new issue at <a href="https://github.com/snes9xgit/snes9x/issues">https://github.com/snes9xgit/snes9x/issues</a> so we know which features to prioritize.
		</p>
		<p>
			Snes9x's Alt and TC buttons can be mapped to both keyboard keys and joypad buttons, in the 'Configure Keyboard...' and 'Configure Controllers...' dialogs respectively.
		</p>
		<h3>Changing Input Devices</h3>
		<p>
			Select the device in 'Input Device' in 'Emulation' menu at any time.<br>
			If a ROM image has NSRT header, the most appropriate device is automatically chosen when you open the image.<br>
			Devices that Snes9x supports are: SNES Mouse, Super Scope, Justifier, SNES joypads and Multi Player 5.
		</p>
		<h3>SNES Mouse</h3>
		<p>
			Assign your Mac's mouse (or gamepad) buttons to SNES Mouse buttons in 'Configure Controllers' dialog. To move SNES Mouse cursor, move your Mac's mouse.
		</p>
		<h3>Super Scope</h3>
		<p>
			Assign your Mac's gamepad buttons or keyboard to Super Scope turbo/cursor/pause buttons in 'Configure Controllers' or 'Configure Keyboard' dialog. Note that the turbo button acts as a toggle button. To move the gunsight, move your mouse. Use SNES Mouse left button to fire.
		</p>
		<h3>Justifier</h3>
		<p>
			Similar to Super Scope. Assign your Mac's gamepad buttons or keyboard to 'offscreen' button in 'Configure Controllers' or 'Configure Keyboard' dialog. To shoot offscreen, shoot anywhere while pressing the 'offscreen' button.
		</p>
		<h3>Multi Player 5</h3>
		<p>
			Configure 3rd, 4th and 5th players in 'Configure Controllers' dialog. Note that 3rd, 4th and 5th players need gamepads.<br>
			Incidentally, there exist 6th, 7th and 8th players in that dialog, in case you have or make home-brewed games that can use two Multi Player 5 units.
		</p>
		<h3>Additional Keyboard Controls</h3>
		<p>
			You can remap the buttons for the functions listed below in 'Configure Keyboard' dialog. The default mapping is:
		</p>
		<ul>
			<li><table summary="special keys">
				<tbody>
					<tr valign="top">
						<td style="width:9em">esc</td>
						<td>pauses the game and exits from the emulation loop.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">1</td>
						<td>saves a freeze file.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">0</td>
						<td>loads a freeze file, restoring a game to an exact position.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">`</td>
						<td>takes a screenshot.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">R</td>
						<td>dumps a SPC file.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">\</td>
						<td>turbo mode (fast forward) - for skipping long intros and so on.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">Q</td>
						<td>decreases turbo mode speed.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">W</td>
						<td>increases turbo mode speed.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">,</td>
						<td>Snes9x's TC key - used for some options in the 'Automatic Fire...' dialog.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">.</td>
						<td>Snes9x's Alt key - used for some options in the 'Automatic Fire...' dialog.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">/</td>
						<td>Snes9x's Fn key - press this button with the keys below.</td>
					</tr>
				</tbody>
			</table></li>
		</ul>
		<p>
			These functions below work with 'Fn' button:
		</p>
		<ul>
			<li><table summary="special keys with Fn button">
				<tbody>
					<tr valign="top">
						<td style="width:9em">F1-F4</td>
						<td>toggles background 1-4 on/off.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">F5</td>
						<td>toggles sprites on/off.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">F6</td>
						<td>swaps 1P and 2P controllers.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">1-8</td>
						<td>toggles sound channel on/off.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">9</td>
						<td>enables all sound channels.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">0</td>
						<td>toggles displaying pressed buttons.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">-</td>
						<td>toggles displaying frame counts in movies.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">Q</td>
						<td>increases emulated frame time - slowing down the game.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">W</td>
						<td>decreases emulated frame time - speeding up the game.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">O</td>
						<td>just pauses and resumes - doesn't exit from the emulation loop.</td>
					</tr>
					<tr valign="top">
						<td style="width:9em">P</td>
						<td>advances a frame when paused.</td>
					</tr>
				</tbody>
			</table></li>
		</ul>
		<div style="text-align:center; margin-top:3em"><p>
			&lt;<a href="03.html">Prev</a>&nbsp;&nbsp;<a href="../index.html">Top</a>&nbsp;&nbsp;<a href="05.html">Next</a>&gt;
		</p></div>
	</body>
</html>
